package article3

import (
	"bbs-web/internal/domain"
	"context"
	"time"
)

//go:generate mockgen -source=./types.go -package=svcmocks -destination=../svcmocks/articleServiceV1.mock.go
type IArticleService interface {
	List(ctx context.Context, uid int64, offset int, limit int) ([]domain.Article, error)
	Save(ctx context.Context, art domain.Article) (int64, error)
	Publish(ctx context.Context, art domain.Article) (int64, error)
	Withdraw(ctx context.Context, art domain.Article) error
	GetById(ctx context.Context, id int64) (domain.Article, error)
	GetPubById(ctx context.Context, id, uid int64) (domain.Article, error)
	ListPub(ctx context.Context, start time.Time, offset, limit int) ([]domain.Article, error)
}
